<?php
//	FORMULAIRE D'AFFICHAGE DE LA LISTE DES FICHES

// Variable sur la page : $op
$op = new Operation();


/* PAGINATION */ /* $x doit être définie avant d'arriver à cet endroit du code */

// A partir de combien d'enregistrements une nouvelle page est-elle créée ? A partir de $z
/* Si la session n'est pas définie, la définir ... */
if(!isset($_SESSION['pagination_fi']))
{
		/* Si une valeur est définie depuis le menu déroulant, cette valeur doit être prise en compte */
		if(isset($_GET['pag']) and is_numeric($_GET['pag']))
		{
			$_SESSION['pagination_fi'] = $_GET['pag'];
		}
		/* Sinon, on utilisera la valeur par défaut */
		else
		{
			$_SESSION['pagination_fi'] = config('pagination_fi');
		}
}
/* Si la session est déjà définie ... */
else
{
	/* Si on veut utiliser une nouvelle valeur, prendre en compte cette nouvelle valeur */
	if(isset($_GET['pag']) and is_numeric($_GET['pag']))
	{
		$_SESSION['pagination_fi'] = $_GET['pag'];
	}
}	
/* Récupérer le résultat final dans $z */
$z = $_SESSION['pagination_fi'];

/* Combien de fiches dans la base de données ? réponse : $t*/
$connexion = new Connexion();
$sql = "SELECT * FROM fi_operations";
$req = $connexion->query($sql);
$t = $connexion->count();

// fi_tri des enregistrements
	// Cas 1 => Première visualisation de la page: session close: fi_tri par défaut
	if (!isset($_SESSION['fi_tri']))
		$_SESSION['fi_tri'] = "date_facturation DESC";

	// Cas 2 => L'utilisateur vient juste de cliquer sur un lien ordonnant un fi_tri
	if(isset($_GET['tri']))
	{
		// Id.
		if($_GET['tri'] == "id-asc")
			$_SESSION['fi_tri'] = "id ASC";
		if($_GET['tri'] == "id-desc")
			$_SESSION['fi_tri'] = "id DESC";
			
		// Nom
		if($_GET['tri'] == "n-asc")
			$_SESSION['fi_tri'] = "nom ASC";
		if($_GET['tri'] == "n-desc")
			$_SESSION['fi_tri'] = "nom DESC";

		// Montant
		if($_GET['tri'] == "m-asc")
			$_SESSION['fi_tri'] = "montant ASC";
		if($_GET['tri'] == "m-desc")
			$_SESSION['fi_tri'] = "montant DESC";
			
		// Compte
		if($_GET['tri'] == "c-asc")
			$_SESSION['fi_tri'] = "compte ASC";
		if($_GET['tri'] == "c-desc")
			$_SESSION['fi_tri'] = "compte DESC";
			
		// Catégorie
		if($_GET['tri'] == "cat-asc")
			$_SESSION['fi_tri'] = "categories ASC";
		if($_GET['tri'] == "cat-desc")
			$_SESSION['fi_tri'] = "categories DESC";
			
		// Catégorie
		if($_GET['tri'] == "mp-asc")
			$_SESSION['fi_tri'] = "moyen ASC";
		if($_GET['tri'] == "mp-desc")
			$_SESSION['fi_tri'] = "moyen DESC";
			
		// Label
		if($_GET['tri'] == "l-asc")
			$_SESSION['fi_tri'] = "labels ASC";
		if($_GET['tri'] == "l-desc")
			$_SESSION['fi_tri'] = "labels DESC";
			
		// Par date de facturation
		if($_GET['tri'] == "df-asc")
			$_SESSION['fi_tri'] = "date_facturation ASC";
		if($_GET['tri'] == "df-desc")
			$_SESSION['fi_tri'] = "date_facturation DESC";
			
		// Par date d'enregistrement
		if($_GET['tri'] == "de-asc")
			$_SESSION['fi_tri'] = "date_enregistrement ASC";
		if($_GET['tri'] == "de-desc")
			$_SESSION['fi_tri'] = "date_enregistrement DESC";
			
		// Annuler la formule de lib_tri
		if($_GET['tri'] == "no")
			$_SESSION['fi_tri'] = "date_facturation DESC";
	}
	
	// Conclusion => un tri est déjà actif, soit parce que c'est le tri par défaut (cas 1)
	// soit parce qu'il vient d'être défini (cas 2), soit encore parce qu'il est enregistré
	// dans la session en cours.
	$tri = $_SESSION['fi_tri'];
	
	// Afficher un label déterminé ?
	if(!isset($_GET['l']))
		if(!isset($_SESSION['fi_label']))
			$l = $_SESSION['fi_label'] = "ALL";
		else
			$l = $_SESSION['fi_label'];
	else $l = $_SESSION['fi_label'] = $_GET['l'];

	if($l != "ALL")
		 	{ $etiquette = "WHERE ".QList("labels",$l); $ET = true; }
	else 	{ $etiquette = " "; $ET = false; }
	
	// Afficher une catégorie déterminé ?
	if(!isset($_GET['cat']))
		{ $cat = ""; $CAT = false; }
	else 
		{ $cat = QList("categories",$_GET['cat']); $CAT = true; }
	
	// Afficher un compte déterminé ?
	if(!isset($_GET['cpt']))
		{ $cpt = ""; $CPT = false; }
	else 
		{ $cpt = "compte = '".$_GET['cpt']."'"; $CPT = true; }
	
	// Y a-t-il ETIQUETTE + CATÉGORIE + COMPTE ? Si oui, ajouter "AND" dans l'instruction SQL.
	if($ET and $CAT and $CPT) 		{ $and=" AND "; 	$and2=" AND "; 	}
	elseif($ET and $CAT and !$CPT)	{ $and=" AND "; 	$and2=" "; 		}
	elseif($ET and !$CAT and $CPT)	{ $and=" "; 		$and2=" AND "; 	}
	elseif($ET and !$CAT and !$CPT) { $and=" ";			$and2=" ";		}
	elseif(!$ET and $CAT and $CPT)	{ $and=" WHERE "; 	$and2=" AND "; 	}
	elseif(!$ET and !$CAT and $CPT)	{ $and=" WHERE "; 	$and2=" ";	 	}
	elseif(!$ET and $CAT and !$CPT)	{ $and=" WHERE "; 	$and2=" "; 		}
	else 							{ $and=" ";			$and2=" ";		}

//Générer la requête avant de modifier les limites ($x)
if(isset($_SEARCH) and $_SEARCH == true and isset($_POST))
	$sql = $op->search($_POST);
else
	$sql = "SELECT * FROM fi_operations $etiquette $and $cat $and2 $cpt ORDER BY $tri";
	
// Protection de la requête en cas de table vide (v. correction de bug version 0.7.1)
if(is_numeric($z))
	$sql .= " LIMIT $x,$z;";
else
	$z = 1;
	
$req = $connexion->query($sql);

// Pour afficher la requête de recherche
$_SQL = $sql;

//echo $sql;

// On stocke le $x actuel dans $xa, car $x va être modifié par la suite
$xa = $x;
// Barre de navigation / répartition des résultats sur plusieurs pages
//Calculs
// $y est le premier enregistrement de la plage à afficher (LIMIT Y,...)
// $z est le seuil à partir duquel on passe à une autre page
// $x est le nombre d'enregistrements qu'il reste à afficher
	//Protéger y: il ne doit pas être négatif, car x peut être plus petit que z
	$y = $x - $z;
	if($y < 0)
		$y = 0;
	//Le nouveau x est l'ancien + la grandeur du nouvel intervalle ($z)
	$x = $x + $z;
	// $la représente le premier enregistrement de la dernière page
	$la = $t-$z;
	// BUGFIX : anti division par zéro
	if($z == 0) $dv = 1; else $dv = $z;
	// $p représente le nombre de pages
	$p = ceil($t / $dv); //ceil() arrondit à la valeur supérieure
	// $c représente la page courante
	$c = ceil($x / $dv); //ceil() arrondit à la valeur supérieure


/* /PAGINATION */
?>

<div id="list_form">
	
	<table width="100%" align="center" cellpadding="2" cellspacing="0" border="0">
	  <tr class="list-headers" id="list_headmenu">
	    <td width="35%" class="list-headers" style="padding: 5px 5px;" colspan="10">
		<form name="operations" method="post" action="index.php?d=fi&a=filist&x=<?php  echo $xa; ?>">
		<span style="float:left;">
    	<?php 
		/* Construction et affichage du système de pagination */
		$avant =      abbr2("p-");
		$apres =      abbr2("p+");
		$avantx =     donner("p-");
		$apresx =     donner("p+");
		$il_y_a =     donner("p1");
		$fiches_sur = donner("p2d");
		$pages =      donner("p3");
		$page =       donner("p4");

		$result  = "$il_y_a <b>".$t."</b> $fiches_sur <b>".$p."</b> $pages";
		$result .= "&nbsp;-&nbsp;";

		// Combobox qui permet de sauter d'une page à l'autre
		  $co  = "<select name=\"menu_pagination\" "
		       ."onchange=\"MM_jumpMenu('parent',this,0)\">";

		for($ix = 1 ; $ix <= $p ; $ix++)
		{
			// Page courante
			if($ix == $c)
			{
				$co .= "<option selected=\"selected\">$c</option>";
			}
			// Autre page
			else
			{
				/* $ix indique la page à laquelle on veut aller, mais quelle sera la
				 valeur de x pour cette page (x=premier enregistrement de la page) ?
				Réponse: page désirée ($ix) * seuil de pagination ($z) 
				MAIS: la première page porte le numéro 1, alors qu'elle est
				construite avec un $x égal à 0 (limit $x=O,$z) => donc, il faut
				en réalité utiliser ($ix - 1) au lieu de $ix*/
				$xgo = ($ix - 1) * $z;

				$co .= "<option value=\"index.php?d=fi&x=$xgo"
				    ."\">$ix</option>";
			}
		}
		$co .= "</select>";

		// Pour désactiver le Combo, remplacer ci-dessous $co par $c
		$result .= "$page: <b>$co/$p</b> &nbsp;-&nbsp;";

		// si $x>$z c'est qu'on est plus à la première page
		if($x > $z) 
		{
			$result	.="<a href=\"index.php?d=fi\">".abbr2("<<")."</a> | "
					."<a href=\"index.php?d=fi&x=$y\">"
					."".abbr2("<")." $avant</a>";
		}
		// sinon c'est qu'on est à la première page
		else
		{
			$result .= "<< | < $avantx";
		}

		$result	.=" | ";

		//si $x<$t c'est qu'on n'est pas encore à la dernière page
		if($x < $t) 
		{
			$result	.="<a href=\"index.php?d=fi&x=$x\">"
					."$apres ".abbr2(">")."</a> | "
					."<a href=\"index.php?d=fi&x=$la\">"
					.abbr2(">>")."</a>";
		}
		// sinon c'est qu'on est à la dernière page
		else
		{
			$result .= $apresx." > | >>";
		}

		echo $result;
	?>
	
		<span class="tri" style="margin-left: 10px;">
		(<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=no">
			<?php echo abbr3(donner("tri-no"), donner("@fi-tri-no")); ?>
		</a>)
	    </span>
	</span>
		
	<span class="list-headers" style="float:right;">
		<?php abbr("affichage");?>
		<select name="menu_pagination" onchange="MM_jumpMenu('parent',this,0)">
			<option <?php if(isset($_SESSION['pagination_fi']) and $_SESSION['pagination_fi'] == config("pagination_fi")) 
					echo "selected";?> value="index.php?d=fi&pag=<?php 
					echo config('pagination_fi');?>"><?php echo config('pagination_fi').' (def.)'; ?></option>
			<option <?php if(isset($_SESSION['pagination_fi']) and $_SESSION['pagination_fi'] == "10") 
					echo "selected";?> value="index.php?d=fi&pag=10">10</option>
			<option <?php if(isset($_SESSION['pagination_fi']) and $_SESSION['pagination_fi'] == "20") 
					echo "selected";?> value="index.php?d=fi&pag=20">20</option>
			<option <?php if(isset($_SESSION['pagination_fi']) and $_SESSION['pagination_fi'] == "50") 
					echo "selected";?> value="index.php?d=fi&pag=50">50</option>
			<option <?php if(isset($_SESSION['pagination_fi']) and $_SESSION['pagination_fi'] == "100") 
					echo "selected";?> value="index.php?d=fi&pag=100">100</option>
			<option <?php if(isset($_SESSION['pagination_fi']) and $_SESSION['pagination_fi'] == "200") 
					echo "selected";?> value="index.php?d=fi&pag=200">200</option>						
		</select>
		&nbsp;
		<select name="menu_labels" onchange="MM_jumpMenu('parent',this,0)">
			<option value="index.php?d=fi&l=ALL&x=<?php  echo $xa; ?>"><?php say("affichage_all")?></option>
			<?php
			/* Remplissage des labels */
			$sqllab = "SELECT id,nom FROM labels;";
			$connexionlab = new Connexion();
			$reqlab = $connexionlab->query($sqllab);
			while($dlab = $connexionlab->fetch_assoc($reqlab))
			{	
				if($l == $dlab['id']) $slab = "selected";
				else $slab = " ";
				echo "<option $slab value=\"index.php?d=fi&l=".$dlab['id']."&x=$xa\">".$dlab['nom']."</option>";
			}
			?>
		</select>
		&nbsp;|&nbsp;
		<?php abbr("actions");?>
		<select name="op">
			<option value="#"></option>
			<?php
			/* Ajouter des labels */
			$sqllab = "SELECT id,nom FROM labels;";
			$connexionlab = new Connexion();
			$reqlab = $connexionlab->query($sqllab);
			while($dlab = $connexionlab->fetch_assoc($reqlab))
			{	
				echo "<option value=\"addLabel_".$dlab['id']."\">".donner("act-addLabel")." ".$dlab['nom']."</option>";
			}
			?>
			<option value="#"></option>
			<?php
			/* Retirer des labels */
			$sqllab = "SELECT id,nom FROM labels;";
			$connexionlab = new Connexion();
			$reqlab = $connexionlab->query($sqllab);
			while($dlab = $connexionlab->fetch_assoc($reqlab))
			{	
				echo "<option value=\"delLabel_".$dlab['id']."\">".donner("act-delLabel")." ".$dlab['nom']."</option>";
			}
			?>
			<option value="#"></option>
			<!-- Supprimer les fiches -->
			<option value="del"><?php say("lib_del"); ?></option>
		</select>
		
		<input type="submit" value="<?php say("ok"); ?>" />
	</span>
	</td>
    </tr>

	<!--// Opérations spécifiques aux finances -->
	<tr class="list-headers" id="list_headmenu">
		<td class="list-headers" style="padding: 5px 5px;" colspan="6">
			<!--// Combo des comptes -->
			<?php say("fi_op_compte_s"); ?>
			<select name="menu_comptes" onchange="MM_jumpMenu('parent',this,0)">
				<option value="index.php?d=fi"><?php say("affichage_all")?></option>
				<?php
				/* Remplissage des comptes */
				$sqllab = "SELECT id,nom FROM fi_comptes;";
				$connexionlab = new Connexion();
				$reqlab = $connexionlab->query($sqllab);
				while($dlab = $connexionlab->fetch_assoc($reqlab))
				{	
					if($_GET['cpt'] == $dlab['id']) $slab = "selected";
					else $slab = " ";
					echo "<option $slab value=\"index.php?d=fi&cpt=".$dlab['id']."\">".$dlab['nom']."</option>";
				}
				?>
			</select>
			&nbsp;|&nbsp;
			
			<!--// Combo des catégories -->
			<?php say("fi_op_categorie_s"); ?>
			<select name="menu_categories" onchange="MM_jumpMenu('parent',this,0)">
				<option value="index.php?d=fi"><?php say("affichage_all")?></option>
				<?php
				/* Remplissage des comptes */
				$sqllab = "SELECT id,nom FROM fi_categories;";
				$connexionlab = new Connexion();
				$reqlab = $connexionlab->query($sqllab);
				while($dlab = $connexionlab->fetch_assoc($reqlab))
				{	
					if($_GET['cat'] == $dlab['id']) $slab = "selected";
					else $slab = " ";
					echo "<option $slab value=\"index.php?d=fi&cat=".$dlab['id']."\">".$dlab['nom']."</option>";
				}
				?>
			</select>
			&nbsp;|&nbsp;
			
			<!--// Code Couleur -->
			<?php abbr('fi_code_couleurs'); ?>
			&nbsp;|&nbsp;
			
			<!--// Soldes -->
			<?php say("fi_solde");?>: 
			<?php
			$conn = new Connexion();
						
			// Equilibrage
			$sql = "SELECT SUM(equilibre) AS equilibre FROM fi_comptes";
			$req = $conn->fetch_assoc($conn->query($sql));
			$equilibre = $req['equilibre'];
			
			// Solde global
			$sql = "SELECT SUM(montant) AS solde FROM fi_operations;";
			$req = $conn->fetch_assoc($conn->query($sql));
			$solde = $req['solde'] + $equilibre;
			$solde = str_replace ('.' , config('sepdec') , round($solde,2) );
			if($solde > 0)
				echo "<span class=\"colorpos\">$solde</span> ".config("devise");
			else
				echo "<span class=\"colorneg\">$solde</span> ".config("devise");
			
			// Si on ne regarde qu'un compte en particulier
			if(isset($_GET['cpt']) and $_GET['cpt'] != "" and is_numeric($_GET['cpt']))
			{	
				$id = $_GET['cpt'];
				
				//Nom et devise du compte
				$sql = "SELECT nom,equilibre,devise FROM fi_comptes WHERE id='$id';";
				$req = $conn->fetch_assoc($conn->query($sql));
				$nom = $req['nom'];
				$equilibre = $req['equilibre'];
				$devise = $req['devise'];
				
				//Solde du compte
				$sql = "SELECT SUM(montant) AS solde FROM fi_operations WHERE compte='$id';";
				$req = $conn->fetch_assoc($conn->query($sql));
				$solde = $req['solde'] + $equilibre;
				$solde = str_replace ('.' , config('sepdec') , round($solde,2) );
				if($solde > 0)
					$solde = "<span class=\"colorpos\">$solde</span>";
				else
					$solde = "<span class=\"colorneg\">$solde</span>";
				
				// Affichage
				echo " | ".donner("fi_solde_compte")." $nom: <b>$solde</b> $devise";		
			}
			?>
		</td>
		
		<td class="list-headers" style="padding: 5px 5px;" colspan="4">
			<!-- RECHERCHE -->
			<span style="float:left;" class="small">
				<label><?php abbr('fi_supersearch'); ?>
				<input type="hidden" name="tri" value="0" />
				<input type="text" name="param1" size="30"/>
				<input type="submit" value="<?php say('go');?>" />
				</label>
			</span>
			<!-- CALCULS -->
			<span style="float:right;" class="small">
				<label><?php abbr('fi_calculs'); ?>
				<select name="calculs">
					<option value="0">-</option>
					<option value="1"><?php say("fi_calculs_somme"); ?></option>
					<option value="2"><?php say("fi_calculs_difference"); ?></option>
				</select>
				<input type="submit" value="<?php say('ok');?>" />
				</label>
			</span>
		</td>
	</tr>
	
	<!--// En-têtes du tableau -->
	<tr class="list-headers">
		<td class="list-cell-header" width="5%"><?php say("fi_op_id"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=id-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-id")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=id-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-id")); ?>
			</a>
			</span>
		</td>
		
	    <td class="list-cell-header" width="25%"><?php say("fi_op_nom"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=n-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-n")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=n-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-n")); ?>
			</a>
			</span>
		</td>
		
		<td class="list-cell-header" width="6%"><?php say("fi_op_montant"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=m-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-m")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=m-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-m")); ?>
			</a>
			</span>
		</td>
		
		<td class="list-cell-header" width="7%"><?php say("fi_op_datef"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=df-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-df")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=df-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-df")); ?>
			</a>
			</span>
		</td>
		
		<td class="list-cell-header" width="7%"><?php say("fi_op_datee"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=de-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-de")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=de-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-de")); ?>
			</a>
			</span>
		</td>
		
		<td class="list-cell-header" width="10%"><?php say("fi_op_categorie"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=cat-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-cat")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=cat-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-cat")); ?>
			</a>
			</span>
		</td>
		
		<td class="list-cell-header" width="10%"><?php say("fi_op_moyen"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=mp-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-mp")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=mp-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-mp")); ?>
			</a>
			</span>
		</td>
		
		<td class="list-cell-header" width="8%"><?php say("fi_op_compte"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=c-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-c")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=c-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-c")); ?>
			</a>
			</span>
		</td>
		
		<td class="list-cell-header" width="10%"><?php say("fi_op_label"); ?>
		<br />
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=l-asc">
				<?php echo abbr3(donner("tri-asc"), donner("@fi-tri-asc-l")); ?>
			</a>
			</span>
			<span class="tri">
			<a href="index.php?d=fi&x=<?php echo $xa; ?>&tri=l-desc">
				<?php echo abbr3(donner("tri-desc"), donner("@fi-tri-desc-l")); ?>
			</a>
			</span>
		</td>
		
		<td class="list-cell-header-big" width="2%" align="center">
			<span class="tri">
				<input type="checkbox" name="checkall" id="checkall" onChange="checkAllBoxes(this);" />
				<br />|
			</span>
		</td>
	  </tr>
	
	<!-- CALCULS -->
	<?php if(isset($_CALCUL) and isset($_CALCUL_RESULTAT) and $_CALCUL == true): ?>
		<tr>
			<td colspan="10" class="calculs_resultat">
				<?php say("fi_calculs_resultat") ?> : <?php echo $_CALCUL_RESULTAT; ?>
			</td>
		</tr>
	<?php endif; ?>
	
	<!-- RECHERCHE -->
	<?php if(config('montrer_requete') and isset($_SEARCH) and $_SEARCH == true): ?>
	<tr>
		<td colspan="10" id="search_query" style="text-align:center;">
			<span id="search_query_titre"><?php say("search_query_titre");?></span>
			<?php echo $_SQL; ?>
		</td>
	</tr>
	<?php endif; ?>
	
	<?php
	while($data = $connexion->fetch_assoc($req))
	{
		/* Affichage du nom des labels à la place de leur id, et affichage de la couleur */
		$labels = "";
		$couleur = "";
		$lab = explode(",", $data['labels']);
		if($lab) /* Explode() renvoie FALSE en cas d'échec */ 
			foreach($lab as $key=>$val)
			{
				$val = trim(rtrim($val));

				if(isset($val) and $val != "")
				{
					$lb = new Label();
					$lb->load($val);
					$nom = $lb->get("nom");
					$couleur = $lb->get("couleur");
					$labels .= "<span style=\"color:#$couleur;\">$nom</span> ";
				}
			}
		/* Supprimer l'espace à la fin de la chaîne */
		$labels = rtrim($labels);
		
		// Formate les dates
		$df = formater_date($data['date_facturation'],false);
		$de = formater_date($data['date_enregistrement'],false);
		
		// Afficher le nom des catégories et du compte
		$op->load($data['id']);
		$categories = $op->getCatName();
		$categories_couleur = $op->getCatColor();
		$compte = $op->getCompteName();
		$moyen = $op->getMoyen();
		
		$montant = $data['montant'];
		
		// Formater le montant avec le séparateur des décimales choisi par l'utilisateur
		$montant = str_replace('.',config('sepdec'),$montant);
		
		// Afficher le montant en rouge ou en vert ?
		if($montant >= 0)	$montant = "<span class=\"colorpos\">$montant</span>";
		else $montant = "<span class=\"colorneg\">$montant</span>";
		
		// Afficher le nom
		if($de == "00/00/0000")
			$classnom = " , datedue";
		elseif($df == "00/00/00" or comparer_dates( $data['date_facturation'] , date("Y-m-d") , '>' ) )
			$classnom = " , dateoverdue";
		else
			$classnom = "";
		
		/* Lien vers la fiche */
		if(isset($xa) and is_numeric($xa))
			$clien = "javascript:js_direct('index.php?d=fi&p=op&op=show&id=".$data['id']."&x=$xa');";
		else
			$clien = "javascript:js_direct('index.php?d=fi&p=op&op=show&id=".$data['id']."');";
		
	?>
	<tr style="cursor:pointer"
		onMouseOver="javascript:change_couleur(this, couleur_hover);"
		onMouseOut="javascript:restaure_couleur(this, couleur_origine);">

				<td class="list-cell<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>">#<?php echo $data['id'];?>
				</td>

				<td class="list-cell<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>"><?php echo $data['nom']; ?>
					<?php if(is_numeric($data['factureID']) and $data['factureID'] != 0): ?>
					<div style="float:right; vertical-align:middle;"><a href="extdata/facture.php?id=<?php echo $data['factureID']; ?>"><img alt="Facture" src="themes/<?php echo config('theme'); ?>/euro.png" /></a></div>
					<?php endif ?>
				</td>
				
				<td class="list-cell<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>"><?php echo $montant;?>
				</td>
				
				<td class="list-cell<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>"><?php echo $df; ?>
				</td>
				
				<td class="list-cell<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>"><?php echo $de;?>
				</td>
				
				<td class="list-cell<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>" style="color:<?php echo $categories_couleur ?>;"><?php echo $categories;?>
				</td>
				
				<td class="list-cell<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>"><?php echo $moyen;?>
				</td>
				
				<td class="list-cell<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>"><?php echo $compte;?>
				</td>
				
				<td class="list-cell-small<?php echo $classnom; ?>" onClick="<?php echo $clien; ?>"><?php echo $labels;?>
				</td>
				
				<td class="list-cell-small<?php echo $classnom; ?>" align="center">
					<input type="checkbox" name="check[]" id="cb_<?php echo $data['id'];?>_" value="<?php 
						echo $data['id'];?>" />
				</td>
	</tr>
	<?php
	}
	?>
	</form>	
	</table>
</div>